문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 고급 벡터 확장 (문단 편집) === AVX === [[플린 분류#s-2.2|SIMD]] 레지스터 폭이 128비트에서 256비트로 증가되었고, 2 피연산자 구조에서 3 피연산자 구조로 변경[* 기존의 SSE에서는 최대 'A=A+B' 연산밖에 불가능하지만, AVX에서는 'A=B+C'가 가능하다. 별 것 아닌 것 같아보이겠지만, A = 10 + 5라는 연산을 SSE에서는 A = 10을 먼저 수행하고 그 다음에 A = A+ 5로 총 2회의 연산이 들어가며, AVX에서는 A = 10 + 5로 한번에 연산할 수 있다는 것이다. 상당히 큰 영향이 있을 수밖에 없다.]되었다. 다만 3 피연산자 연산은 VEX인코딩을 사용하는 SIMD 명령어에 한정되고, EAX와 같은 범용 레지스터를 지원하지 않는다. 또 SIMD 메모리 피연산자의 정렬 요구도 완화되었으며 새롭게 VEX 코딩 방식이 도입되어 레거시 SSE와 AVX코드를 함께 사용하여도 속도 저하를 피할 수 있다. 이 VEX 코드가 적용된 어셈블리 명령은 앞에 {{{v}}}를 붙이게 되고 Mutation하는 레지스터에 따라 AVX-128, AVX-256 등으로 나뉘며 예를 들어 XMM만을 지원하는 {{{movdqa}}}는 {{{vmovdqa}}}가 되고 VEX 버전의 경우 XMM과 YMM을 모두 사용할 수 있고 속도 저하도 일어나지 않기 때문에 [[SSE]] 코드를 그대로 컴파일만 다시 하면 속도 저하 페널티가 없다는 장점이 있다. 참고로 AVX는 [[GCC]] 4.6, 인텔 컴파일러 11.1, Open64 컴파일러 4.5.1, Free Pascal 컴파일러 2.7.1부터 지원하며, 운영체제는 [[Windows 7]] SP1, 리눅스 커널 2.6.30 이상부터 지원한다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기